[LIBXC] Add new AP{I function xc_evtchn_bind_unbound_port().
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Fri, 1 Dec 2006 14:25:36 +0000 (14:25 +0000)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Fri, 1 Dec 2006 14:25:36 +0000 (14:25 +0000)
Add a comment clarifying how this function differs from
xc_evtchn_alloc_unbound().
Signed-off-by: Keir Fraser <keir@xensource.com>
tools/libxc/xc_linux.c
tools/libxc/xc_solaris.c
tools/libxc/xenctrl.h

index a70307a5425948f1df9891d44e249ef3f1beaedb..fa4927aafa8d7b3cd128597d85a30141a4a6115d 100644 (file)
@@ -250,6 +250,15 @@ int xc_evtchn_notify(int xce_handle, evtchn_port_t port)
     return ioctl(xce_handle, IOCTL_EVTCHN_NOTIFY, &notify);
 }
 
+evtchn_port_t xc_evtchn_bind_unbound_port(int xce_handle, int domid)
+{
+    struct ioctl_evtchn_bind_unbound_port bind;
+
+    bind.remote_domain = domid;
+
+    return ioctl(xce_handle, IOCTL_EVTCHN_BIND_UNBOUND_PORT, &bind);
+}
+
 evtchn_port_t xc_evtchn_bind_interdomain(int xce_handle, int domid,
     evtchn_port_t remote_port)
 {
index 902de64fa440539636a2361e7f6040ba2b9ead1f..889db6396df42a646f34ddce1c13ee07bbd31f21 100644 (file)
@@ -165,6 +165,15 @@ int xc_evtchn_notify(int xce_handle, evtchn_port_t port)
     return ioctl(xce_handle, IOCTL_EVTCHN_NOTIFY, &notify);
 }
 
+evtchn_port_t xc_evtchn_bind_unbound_port(int xce_handle, int domid)
+{
+    struct ioctl_evtchn_bind_unbound_port bind;
+
+    bind.remote_domain = domid;
+
+    return ioctl(xce_handle, IOCTL_EVTCHN_BIND_UNBOUND_PORT, &bind);
+}
+
 evtchn_port_t xc_evtchn_bind_interdomain(int xce_handle, int domid,
     evtchn_port_t remote_port)
 {
index c646d18ea8c9cf0a020dca133a4040ccaedfffc3..3904cede840389f8971014a95e12586049166a8c 100644 (file)
@@ -382,6 +382,10 @@ int xc_sched_credit_domain_get(int xc_handle,
  * This function allocates an unbound port.  Ports are named endpoints used for
  * interdomain communication.  This function is most useful in opening a
  * well-known port within a domain to receive events on.
+ * 
+ * NOTE: If you are allocating a *local* unbound port, you probably want to
+ * use xc_evtchn_bind_unbound_port(). This function is intended for allocating
+ * ports *only* during domain creation.
  *
  * @parm xc_handle a handle to an open hypervisor interface
  * @parm dom the ID of the local domain (the 'allocatee')
@@ -629,6 +633,12 @@ int xc_evtchn_fd(int xce_handle);
  */
 int xc_evtchn_notify(int xce_handle, evtchn_port_t port);
 
+/*
+ * Returns a new event port awaiting interdomain connection from the given
+ * domain ID, or -1 on failure, in which case errno will be set appropriately.
+ */
+evtchn_port_t xc_evtchn_bind_unbound_port(int xce_handle, int domid);
+
 /*
  * Returns a new event port bound to the remote port for the given domain ID,
  * or -1 on failure, in which case errno will be set appropriately.
@@ -661,15 +671,15 @@ evtchn_port_t xc_evtchn_pending(int xce_handle);
 int xc_evtchn_unmask(int xce_handle, evtchn_port_t port);
 
 int xc_hvm_set_pci_intx_level(
-    int xce_handle, domid_t dom,
+    int xc_handle, domid_t dom,
     uint8_t domain, uint8_t bus, uint8_t device, uint8_t intx,
     unsigned int level);
 int xc_hvm_set_isa_irq_level(
-    int xce_handle, domid_t dom,
+    int xc_handle, domid_t dom,
     uint8_t isa_irq,
     unsigned int level);
 
 int xc_hvm_set_pci_link_route(
-    int xce_handle, domid_t dom, uint8_t link, uint8_t isa_irq);
+    int xc_handle, domid_t dom, uint8_t link, uint8_t isa_irq);
 
 #endif